package com.jt.demo6;

import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/*
* 第三天课程
* Spring自动为该注解标识的对象通过反射实例化对象,交给Spring容器管理
*   Key: 类名首字母小写 user
*   value: 反射的对象
*   类似于@Bean注解
*
*   @Component/@Bean区别:
*   1.@Component spring容器通过反射自动创建对象
*     @Bean 是用户自己手动创建对象
*   2.@Component 标识类的
*     @Bean 标识配置类中的方法
*   3.@Component 对象的id是类名首字母
*     @Bean 对象的id是方法名
*/

@Component
public class User {

    //1.对象的创建
    public User(){
        System.out.println("用户的对象创建成功!!!");
    }
    //2.进行初始化操作
    @PostConstruct
    public void init(){
        System.out.println("属性加成/神器!!!");
    }
    //3.进行业务调用  业务方法 用户手动调用!!!
    public void hello(){
        System.out.println("我爱学java");
    }
    //4.销毁方法
    @PreDestroy
    public void destory(){
        System.out.println("调用销毁方法,释放资源!!!");
    }
}
